package com.ctshk.rpc.season.req;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import java.io.Serializable;

/**
 * 添加固定套票入参
 *
 * @ClassName SeasonFixedReq
 * @Description: TODO
 * @Author 杨林
 * @Date 2021/3/8
 **/
@Data
@ApiModel(value = "SeasonFixedReq对象", description = "保存固定套票产品基本信息req")
public class SeasonFixedBaseReq implements Serializable {

    @ApiModelProperty(value = "产品编码")
    @NotNull(message = "产品编码不能为空")
    private String code;

    @ApiModelProperty(value = "返回上一步id")
    private Long id;

    @ApiModelProperty(value = "产品名称")
    @NotNull(message = "产品名称不能为空")
    @Size(max = 50, message = "最大50字")
    private String productName;

    @ApiModelProperty(value = "出发城市id")
    @NotNull(message = "出发城市id不能为空")
    private Long depCityId;

    @ApiModelProperty(value = "出发城市名称")
    @NotNull(message = "出发城市名称不能为空")
    private String depCityName;

    @ApiModelProperty(value = "到达城市id")
    @NotNull(message = "到达城市id不能为空")
    private Long arrCityId;

    @ApiModelProperty(value = "到达城市名称")
    @NotNull(message = "到达城市名称不能为空")
    private String arrCityName;

    @ApiModelProperty(value = "产品副标题")
    @Size(max = 200, message = "内容不能超过200字")
    private String subtitle;

    @ApiModelProperty(value = "负责人id")
    @NotNull(message = "负责人id不能为空")
    private Long chargeUserId;
    @ApiModelProperty(value = "负责人名称")
    @NotNull(message = "负责人名称不能为空")
    private String chargeUserName;

    @ApiModelProperty(value = "旅游组别")
    @NotNull(message = "旅游组别不能为空")
    private String travelGroup;

    @ApiModelProperty(value = "旅游组别id")
    @NotNull(message = "旅游组别id不能为空")
    private String travelGroupId;

    @ApiModelProperty(value = "种类")
    @NotNull(message = "种类不能为空")
    private String kind;

    @ApiModelProperty(value = "行程天数")
    @NotNull(message = "行程天数不为空")
    @Pattern(regexp = "^[0-9]*$", message = "行程天数必须是数字")
    private String travelDays;


    @ApiModelProperty(value = "行程夜晚数")
    @NotNull(message = "程夜晚数不为空")
    @Pattern(regexp = "^[0-9]*$", message = "行程夜晚数必须是数字")
    private String travelNights;

    @ApiModelProperty(value = "最小成行人数")
    @NotNull(message = "最小成行人数不为空")
    @Pattern(regexp = "^[0-9]*$", message = "最小成行人必须是数字")
    private String minPeopleNumber;

    @ApiModelProperty(value = "产品特色(多个逗号分隔)")
    @NotNull(message = "产品特色不能为空")
    private String feature;


    @ApiModelProperty(value = "适用人群id")
    @NotNull(message = "适用人群id不能为空")
    private Long applicableCrowdId;

    @ApiModelProperty(value = "适用人群名称")
    @NotNull(message = "适用人群不能为空")
    private String applicableCrowdName;

    @ApiModelProperty(value = "产品主题,多个逗号分隔")
    private String theme;

    @ApiModelProperty(value = "产品主题名称,多个逗号分隔")
    private String themeName;

    @ApiModelProperty(value = "产品介绍图")
    // @NotNull(message = "产品介绍图不能为空")
    private String introducePicture;

    @ApiModelProperty(value = "介绍视频")
    private String introduceVideo;

    @ApiModelProperty(value = "产品介绍")
    @NotNull(message = "产品介绍不能为空")
    private String introduce;

    @ApiModelProperty(value = "审批状态（1 待提交，2 审批中，3 审批通过，4 审批不通过）")
    private Integer approvalStatus;

    @ApiModelProperty(value = "售卖状态（1 有效，2 无效）当审批状态为通过时才会有售卖状态 1")
    private Integer sellStatus;


}
